/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package frontera.dao;

import entidad.HorarioDia;
import javax.persistence.EntityManager;
import javax.persistence.NonUniqueResultException;
import javax.persistence.Query;

/**
 *
 * @author tuareg
 */
public class HorarioDiaDAO  extends DAO<HorarioDia>{

	public HorarioDiaDAO(String nombreEntidad) {
		super(nombreEntidad);
	}

	public HorarioDiaDAO() {
		this("Horariodia");
	}

@Override
public boolean actualizar(HorarioDia viejaEntidad, HorarioDia nuevaEntidad) {
    EntityManager em = emf.createEntityManager();
    em.getTransaction().begin();
    boolean ret= false;
        try {
                viejaEntidad = leer(viejaEntidad);
                viejaEntidad.setIdDia(nuevaEntidad.getIdDia());
                viejaEntidad.setInicioJor(nuevaEntidad.getInicioJor());
                viejaEntidad.setFinJor(nuevaEntidad.getFinJor());
                em.merge(viejaEntidad);
                em.getTransaction().commit();
                ret = true;
        } catch (Exception e) {
            e.printStackTrace();
                em.getTransaction().rollback();
        } finally {
                em.close();
                return ret;
            }
	}

       public HorarioDia leer(HorarioDia par) {
        EntityManager em = emf.createEntityManager();
        HorarioDia horarioDia = null;

       
        Query q = em.createQuery(   "SELECT hd FROM HorarioDia hd " +
                                    "WHERE hd.idHDia = :IDHDIA")
                                    .setParameter("IDHDIA", par.getIdHDia());

        try {                       
            horarioDia = (HorarioDia)q.getSingleResult();
        } catch (NonUniqueResultException e) {
            horarioDia = (HorarioDia)q.getResultList().get(0);
        } catch (Exception e){
            e.printStackTrace();
        }finally {
            em.close();
            return horarioDia;
        }
    }


	
}
